package com.yss.reportworld.service;

import com.yss.reportworld.domain.DatabaseCheck;
import com.baomidou.mybatisplus.extension.service.IService;

import java.sql.Connection;
import java.util.List;

/**
 * 标准层校验语句信息Service接口
 *
 * @author yss
 * @date 2023-03-30
 */
public interface IDatabaseCheckService extends IService<DatabaseCheck> {

    /**
     * 查询标准层校验语句信息列表
     *
     * @param databaseCheck 标准层校验语句信息
     * @return 标准层校验语句信息集合
     */
    public List<DatabaseCheck> selectDatabaseCheckList(DatabaseCheck databaseCheck);

    /**
     * 查询校验语句
     *
     * @param databaseCheck
     */
    public DatabaseCheck selectDatabaseCheckById(DatabaseCheck databaseCheck);

    /**
     * 添加校验语句
     *
     * @param databaseCheck
     */
    public void addDatabaseCheck(DatabaseCheck databaseCheck);

    /**
     * 修改校验语句
     *
     * @param databaseCheck
     */
    public void editDatabaseCheck(DatabaseCheck databaseCheck);

    /**
     * 删除校验语句
     *
     * @param databaseCheck
     */
    public void delDatabaseCheck(DatabaseCheck databaseCheck);

    /**
     * 修改顺序
     *
     * @param list
     */
    public void handleUpdateOrderNum(List<DatabaseCheck> list);

    /**
     * 校验所有数据
     *
     * @param
     * @throws Exception
     */
    public String queryCheckDataBaseInfoAll(DatabaseCheck databaseCheck);

    /**
     * 校验所有数据
     *
     * @param
     * @throws Exception
     */
    public String queryCheckDataBaseInfoAll(DatabaseCheck databaseCheck, Connection connection);

    /**
     * 校验一个类型的所有数据
     *
     * @param code
     * @return
     * @throws Exception
     */
    public String checkDataBaseAllByCode(String code, Connection connection, String versionSuffix);

    /**
     * 重新生成基础数据的校验语句，检查数据的所属模块，所属客户，所属报表信息
     *
     * @throws Exception
     */
    public void updateCheckDataBase(DatabaseCheck databaseCheck);
}
